package com.sgcc.manager.sql.biz;

import java.io.OutputStream;
import java.util.List;
import java.util.Map;

public interface ISqlBiz {
	/***
	 * 用于ddl语句
	 *  CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME
	 *  GRANT 授权 REVOKE
	 * @param sql2 
	 * @throws Exception 
	 * @date 2015-2-9 下午03:36:41
	 *
	 */
	public void execute(String sessionId,String sql) throws Exception;
	
	/***
	 * 用于更新语句
	 * UPDATE,DELETE
	 * @date 2015-2-9 下午03:36:41
	 */
	public int update(String sessionId,String sql)throws Exception;
	
	
	/***
	 * 用于 select 开头的sql
	 * @date 2015-2-9 下午03:47:53
	 * @param sql
	 * @return
	 */
	public List queryList(String sessionId,String sql)throws Exception;
	
	
	/***
	 * 获取rowSet
	 * @date 2015-2-9 下午04:02:08
	 * @param sql
	 * @return
	 */
	public Map queryForMap(String sessionId, String sql,int page)throws Exception;
	
	/***
	 * 不计算总数
	 * @date 2015-2-11 上午11:54:08
	 * @param sql
	 * @param page
	 * @return
	 *
	 */
	public Map queryPageForMap(String sessionId,String sql,String type,int page,int totalPages)throws Exception;
	
	/**
	 * 连接数据库
	 * <br>Description:TODO 方法功能描述
	 * @param ipAdd
	 * @param db
	 * @param username
	 * @param password
	 * @return
	 */
	public boolean LinkDB(String sessionId,String ipAdd,String db, String username,String password,String type);
	
	/**
	 * <br>Description:根据url连接到数据库或者集群
	 * @param oracleUrl jdbc连接信息
	 * @param username
	 * @param password
	 * @param type 集群标识类型
	 */
	public boolean LinkDB(String sessionId,String oracleUrl, String username, String password,String type);
	
	/***
	 * 导出Excel到流中
	 * @date 2015-3-3 下午04:15:08
	 * @param list
	 * @param os
	 * @param exportName
	 *
	 */
	public void exportExcel(Map dataMap,OutputStream os, String exportName);
}	
